Electronic ordering system

ABSTRACT

Data describing a purchase order to be prepared by a merchant and an expected arrival time of a user for arriving at a geographic location of the merchant can be received. An order preparation time for the purchase order based on the one or more items specified in the purchase order can be determined. The order preparation time can be a time needed by the merchant to prepare the purchase order. An order start time based on the order preparation time for the purchase order and on the expected arrival time can be determined. The order start time can be a time for beginning preparation of the purchase order to have the purchase order ready at the expected arrival time. The data describing the purchase order and the order start time can be presented.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.14/311,176, entitled, “ELECTRONIC ORDERING SYSTEM”, filed on Jun. 20,2014, which claims the benefit of U.S. Provisional Patent ApplicationNo. 61/896,607, entitled “ELECTRONIC ORDERING SYSTEM”, filed on Oct. 28,2013, both of which are hereby expressly incorporated herein byreference in their entireties.

BACKGROUND

Items offered for sale by merchants, e.g., restaurants, can be purchasedby customers in various ways. For example, customers can visit amerchant's brick-and-mortar store and purchase items in person. In someinstances, a customer can purchase items from the merchant by placing anorder for items through the merchant's website or by calling themerchant using a phone. The customer can generally provide payment tothe merchant at the time of receiving the items, for example, byproviding cash or a credit card, or at the time of placing the order,for example, by providing a credit card to the merchant through themerchant's website or over the phone. Once the order is received, themerchant will typically process the requested items for the customer topick-up from the merchant's brick-and-mortar store or for delivery tothe customer. In most cases, orders received by the merchant areprocessed on a first-come, first-served basis. Additionally, merchantsmay provide the customer with an estimated order completion time so thatthe customer can make arrangements for delivery or to pick-up the order.

BRIEF DESCRIPTION OF THE DRAWINGS

Various embodiments in accordance with the present disclosure will bedescribed with reference to the drawings, in which:

FIG. 1 illustrates an example of an environment for implementing aspectsin accordance with various embodiments;

FIG. 2 is a flow diagram of an example process for determining an orderstart time for a purchase order;

FIG. 3 illustrates an example view of a user application displaying anelectronic catalogue of items; and

FIG. 4 illustrates an example of an environment for implementing acard-less payment system.

DETAILED DESCRIPTION

Systems and methods in accordance with various embodiments of thepresent disclosure overcome one or more of the above-referenced andother deficiencies in conventional approaches to placing purchase ordersfor items being sold by merchants. In particular, various embodiments ofthe present disclosure can provide a method for determining a start timefor preparing a user's purchase order based on an expected arrival timefor the user arriving at a geographic location of a merchant.

A customer operating a computing device can interact with an applicationrunning on the computing device, or a web-browser interface, to accessan electronic catalogue of items that are offered for sale by amerchant. The customer can select one or more items for pick-up ordine-in, and can electronically submit a purchase order for the items tothe merchant through the computing device, for example, by sending, overa network, data describing the purchase order to a merchant device. Whensending data describing the customer's purchase order, the computingdevice can also send data describing location data for the customer, forexample, as determined from a geographic location of the computingdevice. In some embodiments, the computing device can send location datadescribing the customer's expected arrival time for reaching themerchant's location.

After receiving the customer's purchase order and the customer'sexpected arrival time, the merchant can determine when to startpreparing items in the customer's purchase order. That is, the merchantcan evaluate the items in the customer's purchase order to determine anorder preparation time for preparing the customer's purchase order. Themerchant can then determine, based on the order preparation time and onthe customer's expected arrival time, when to begin preparing thecustomer's purchase order so that the order is ready for pick-up ordine-in at or near the time of the user's expected arrival time. Themerchant device can continue to adjust the order start time usingupdated location data that is provided by the computing device or bypolling the computing device for location data. In some instances, themerchant can adjust the order start time based on electronic messagesreceived from the customer that specify the customer's expected arrivalor a time delay in the customer's expected arrival time.

One advantage of using customer location data to determine when toprepare purchase orders allows merchants to better manage thepreparation of other purchase orders awaiting completion. For example,if a first user that submitted a purchase order is not expected toarrive until much later than a second user that submitted a purchaseorder after the first user, then the merchant can prioritize thepreparation of the second user's purchase order over the first user'spurchase order. The ability to prioritize and de-prioritize purchaseorders based on expected arrival times for customers allows merchants tomore efficiently allocate their resources, e.g., staff, while improvingcustomer satisfaction. In other words, customer experience with themerchant can be improved as a result of having customer purchase ordersready for pick-up or dine-in by the time the customers arrive at themerchant's location. This feature is especially advantageous in the foodservice industry where there is a demand for freshly prepared food.

Other advantages, variations, and functions are described and suggestedbelow as may be provided in accordance with the various embodiments.

FIG. 1 illustrates an example of an environment 100 for implementingaspects in accordance with various embodiments. Although a mobile deviceenvironment is described for purposes of explanation, differentenvironments may be used, e.g., a web-based environment, to implementvarious embodiments.

The example environment 100 includes an ordering system 107 and a dataplane 110. The ordering system 107 is configured to receive andcommunicate purchase orders for items that can be purchased frommerchants, as described below. The ordering system 107 can beimplemented as computer programs on one or more computers in one or morelocations, in which the systems, components, and techniques describedbelow can be implemented.

Merchants, e.g., shopkeepers, can publish electronic catalogues thatdescribe items, e.g., goods or services, that are available for purchasefrom the merchant through the ordering system 107. For example, amerchant can create an electronic catalogue by interacting with asoftware application, e.g., a merchant application 105, running on themerchant device 104.

As used in this specification, an electronic catalogue refers to adigital listing of one or more items, e.g., goods or services, that canbe purchased from a merchant. The listing of items need not be organizedin any particular manner and may simply be an itemized listing of goodsor services, e.g., a restaurant menu.

The merchant device 104 can be a computer coupled to the ordering system107 through a data communication network 106, e.g., the Internet. Themerchant device 104 generally includes a memory, e.g., a random accessmemory (RAM), for storing instructions and data, and a processor forexecuting stored instructions. The merchant device 104 can be anyappropriate device operable to send and receive requests, messages, orother types of information over the network 106. The merchant device 104can also include a display screen though which a merchant interactingwith the merchant device 104 can view information, e.g., informationdescribing orders that were received from customers. Some examples ofmerchant devices include point-of-sale systems, personal computers,cellular phones, handheld messaging devices, laptop computers, personaldata assistants, tablet devices, and the like.

Other ways of creating and publishing electronic catalogues arepossible. For example, in some embodiments, a merchant can interact witha web browser running on the merchant device 104 to create and publishelectronic catalogues through a web-based interface that is provided bythe ordering system 107.

When creating electronic catalogues, a merchant can interact with themerchant application 105 to specify, for each item in an electroniccatalogue, additional information that describes the item including, forexample, an item name, description, cost, and one or more types of mediafiles that describe the item, e.g., images, videos, and audio. Further,the merchant can specify one or more customization options for aparticular item. Customization options for an item can vary depending onthe item type. For example, a merchant that sells pizzas may allowcustomers to customize their pizza by specifying certain ingredients toinclude or exclude. Similarly, a merchant that sells custom-madeclothing may allow customers to specify a size and color.

Once an electronic catalogue has been created, the merchant can interactwith the merchant device 104 to communicate data describing theelectronic catalogue to the ordering system 107 over the network 106.The ordering system 107 can store the data describing the electroniccatalogue in a database, e.g., the merchant information database 112,and can provide the electronic catalogue to users to browse and selectitems for purchase, as described below. The merchant informationdatabase 112 can also store other information describing merchantsincluding, for example, a merchant name, contact information, e.g.,street address and telephone numbers, theme, e.g., color motif andlogos, and merchant account information for processing card-lesspayments, as described below. The ordering system 107 can use theinformation stored in the merchant information database 112 to customizethe appearance of an interface that presents a merchant's electroniccatalogue.

The network 106 can include any appropriate network, including anintranet, the Internet, a cellular network, a local area network, a widearea network, or any other such network, or combination thereof.Components used for such a system can depend at least in part upon thetype of network, the environment selected, or both. Protocols andcomponents for communicating over such a network are well known and willnot be discussed herein in detail. The merchant device 104 and the userdevice 102 can communicate over the network using wired or wirelessconnections, and combinations thereof.

Users, e.g., customers, can interact with the ordering system 107 toview and purchase items from electronic catalogues that were publishedby merchants. For example, a user can interact with a softwareapplication, e.g., a user application 103, running on the user device102 to access a merchant's electronic catalogue on a display screen ofthe user device 102. The user device 102 can be a computer coupled tothe ordering system 107 through a data communication network 106, e.g.,the Internet. The user device 102 generally includes a memory, e.g., arandom access memory (RAM), for storing instructions and data, and aprocessor for executing stored instructions. The user device 102 caninclude one or more components, e.g., software or hardware, that areconfigured to determine a geographic location of the user device 102using, for example, various geolocation techniques, e.g., a globalpositioning system (GPS). Further, the user device 102 can be anyappropriate device operable to send and receive requests, messages, orother types of information over the network 106. Some examples of userdevices include personal computers, cellular phones, handheld messagingdevices, laptop computers, personal data assistants, tablet devices, andthe like.

Other ways of accessing electronic catalogues are possible. For example,in some embodiments, a user can interact with a web browser running onthe user device 102 to access electronic catalogues through a web-basedinterface that is provided by the ordering system 107.

As described above, a user operating the user device 102 can accesselectronic catalogues through the ordering system 107. For example, theuser can interact with the user application 103 to submit a merchantsearch query to the ordering system 107 to request electronic cataloguesthat were provided by a specific merchant. Alternatively, the user caninteract with the user application 103 to obtain a listing of merchants.The user can then interact with the user application 103 to select amerchant in the listing of merchants to view that merchant's respectiveelectronic catalogues on a display screen of the user device 102.

After receiving the user's merchant search query, or the user'sselection of a merchant from the listing of merchants, the orderingsystem 107 can, in response, communicate data describing the merchant tothe user device 102 over the network 106. The data describing themerchant can include merchant information, e.g., merchant name,description, contact information, location, business hours, user ratingsand reviews for the merchant, and one or more electronic catalogues ofitems that describe items that are available for purchase from themerchant. The data describing the merchant can be presented through theuser application 103 on a display screen of the user device 102. Forexample, the user can interact with the user application 103 to view themerchant's information, e.g., location, business hours, and user ratingsand reviews for the merchant. The user can also interact with the userapplication 103 to browse the merchant's electronic catalogue. Theelectronic catalogue can be presented in the user application 103 as alisting of one or more items that are available for purchase from themerchant. The listing of items can include, for each item, an item name,description, cost, and one or more customization options, as describedabove. In some embodiments, the data describing the merchant is themedusing a merchant specified theme, e.g., logos and color motifs.

The user can interact with the user application 103 to select one ormore items in the merchant's electronic catalogue for purchase. The usercan then place a purchase order for the selected items through the userapplication 103. The user device 102 can communicate data describing theuser's purchase order to the ordering system 107 through the network106. The data describing the user's purchase order can include, forexample, items that the user selected for purchase, respectivequantities of the selected items, and customization options specified bythe user for the selected items.

When placing a purchase order, the user may also specify whether theorder is for delivery or pick-up. In some instances, when the merchantis a food service establishment, e.g., a restaurant, the user mayspecify that the order is an advance order for a dine-in visit. The usermay also specify payment options for the order depending on the types ofpayment options that are accepted by a merchant. For example, the usermay specify that the user will pay with cash at the time of delivery orpick-up. Alternatively, the user may opt to pay for the order using afinancial card, e.g., a credit card. When paying with a financial card,the user device 102 can also communicate data describing the user'sfinancial card, e.g., credit card number, expiration date, and securitycode, to the ordering system 107, for payment processing. In someembodiments, the user can pay for the order through a card-less paymenttransaction that is processed using a card-less payment server 108, asdescribed below in reference to FIG. 4.

Once the purchase order is received, the ordering system 107 cancommunicate data describing the user's purchase order to the merchantdevice 104. The merchant can interact with the merchant application 105to view details describing the user's purchase order and can beginprocessing the order.

In some embodiments, in addition to communicating data describing theuser's purchase order, the user device 102 also communicates, to theordering system 107, location data that describes a geographic locationof the user device 102. The user device 102 may use various geolocationtechniques, mapping services, e.g., a web mapping service application,or both, to determine other types of location data to be communicated tothe ordering system 107. For example, the user device 102 can beconfigured to obtain and communicate data that describes a traveldistance, e.g., in terms of feet, miles, or kilometers, from a user'sgeographic location to a geographic location of a merchant. Thegeographic location of the merchant can be determined, for example,based on a geographically identifiable address, e.g., a street addressthat was provided by the merchant. In another example, the user device102 can be configured to obtain and communicate data that describes auser's arrival time for reaching a geographic location of a merchant.The arrival time can be expressed as an actual time at which the userwill arrive at the geographic location of the merchant, e.g., 8:35 pm,or a number of minutes at which the user will arrive at the geographiclocation of the merchant, e.g., 35 minutes.

In some embodiments, the user device 102 is configured to communicate,to the ordering system 107, location data that describes a geographiclocation of the user device 102. The ordering system 107 is configuredto determine, based on the received location data, a travel distancefrom a user's geographic location to a geographic location of a merchantor a user's arrival time for reaching a geographic location of amerchant. Although the user device 102 can be configured to communicatethe user's location data at the time of placing an order, in someembodiments, the user device 102 is configured to also communicate theuser's location data to the ordering system 107 at specified timeintervals, e.g., every 30 seconds or every minute. Similarly, in someembodiments, the ordering system 107 is configured to poll the userdevice 102 for location data at specified time intervals.

The ordering system 107 can communicate the user's location data to themerchant device 104 when communicating the data describing the user'spurchase order. In some embodiments, the ordering system 107 continuesto communicate the user's location data to the merchant device 104 atspecified time intervals to provide the merchant with updates of theuser's travel distance or arrival time. The merchant can interact withthe merchant application 105 to view details describing the user'spurchase order and location data. In some embodiments, the merchant caninteract with the merchant application 105 to view a geographic mapindicating locations of the users that have placed orders with themerchant. For example, the merchant application 105 can display ageographic map that identifies each user that has placed an order withthe merchant using a respective icon. The displayed map can beinteractive in that the merchant can select an icon associated with aparticular user to view details describing that particular user'spurchase order and location data. Further, the map can be updated as theusers move to show updated geographic locations of the users withrespect to the merchant's location.

In some embodiments, the user can send electronic messages to themerchant through the ordering system 107 after the user's purchase orderhas been sent to the merchant. For example, the user can interact withthe user application 103 to send the merchant additional instructions orto update the merchant on the user's arrival time. Other ways ofcommunicating electronic messages from the user to the merchant arepossible including, for example, e-mail and text messages. The merchantcan view and respond to electronic messages that were sent by the userthrough, for example, the merchant application 105.

FIG. 1 describes placing purchase orders between users and merchantsthrough the ordering system 107. However, other implementations arepossible to allow the operations described in this specification to beperformed between the user device 102 and the merchant device 104without the ordering system 107. For example, in some embodiments, theuser application 103 is configured to communicate directly with themerchant device 104. That is, the user device 102 can communicate, tothe merchant device 104, the user's purchase orders, location data, andelectronic messages directly over the network 106. In such embodiments,the merchant device 104 can receive updates to the user's location datafrom the user device 102 at specified time intervals. Similarly, in someembodiments, the merchant application 105 in the merchant device 104 canbe configured to poll the user device 102 for location data at specifiedtime intervals.

In some embodiments, the merchant prepares, e.g., manufactures,assembles, or creates, items in the user's purchase order based in parton the user's location data. For example, upon receiving the user'spurchase order, the merchant can evaluate the order, e.g., based on theitems included in the order and on the respective quantities ordered, todetermine an order preparation time. The order preparation time can bean estimated amount of time that the merchant needs to prepare theuser's order. Based on the order preparation time and on the user'sarrival time for reaching the merchant's location, the merchant candetermine an order start time for beginning preparation of the user'spurchase order.

For example, a first user's purchase order may request three salads,four sandwiches, and two desserts from a merchant. The merchant canevaluate the order to determine an order preparation time. That is, themerchant may determine that preparation of three salads, foursandwiches, and two desserts will require 10 minutes of preparation timebased on the resources, e.g., staff, available. The merchant can thendetermine an order start time for beginning preparation of the firstuser's purchase order by also evaluating the first user's arrival timefor reaching the merchant's location. In this example, assuming thefirst user's arrival time for reaching the merchant's location is 20minutes, the merchant can determine, based on a difference between thefirst user's arrival time, e.g., 20 minutes, and the order preparationtime, e.g., 10 minutes, that the merchant can begin preparing the orderin 10 minutes to have the order ready by the time the first user arrivesat the merchant's location.

In some embodiments, the order preparation time is automaticallydetermined using, for example, the ordering system 107. For example, themerchant can specify, for each item in the merchant's electroniccatalogue, a respective item preparation time. When a user's purchaseorder is received, the ordering system 107 can evaluate the order toidentify the items being purchased along with their respectivequantities. The ordering system 107 can then generate an orderpreparation time for the user's order based on the items beingpurchased, their respective quantities, and the respective itempreparation times, as specified by the merchant. In some embodiments,the item preparation times are adjusted based on a delay parameterspecified by the merchant. For example, in some instances, the merchantmay experience high demand during certain hours of the day. In suchsituations, the merchant can specify a delay parameter using, forexample, the merchant application 103, to adjust order preparation timesfor purchase orders. In some embodiments, the order preparation time isadjusted based on a delay parameter specified by the merchant. Forexample, a purchase order that would generally have an order preparationtime of 15 minutes can be adjusted automatically to 32 minutes based ona specified delay parameter of 17 minutes. In some embodiments, thedelay parameter is determined automatically based on evaluating amerchant's aggregate purchase order history for certain days and timesand on actual order preparation times.

Having the user's location data available can allow the merchant tobetter manage the preparation of other purchase orders that the merchanthas received. For example, the merchant can evaluate other purchaseorders that were received from different users, along with respectiveorder preparation times for those orders and expected arrival times, todetermine whether certain orders should be prioritized orde-prioritized. By prioritizing and de-prioritizing certain orders, themerchant can time the preparation of orders so that a user's order isready at or near the time the user arrives at the merchant's location.

Continuing with the example above, after receiving the first user'sorder the merchant may receive a second user's order that has an orderpreparation time of 3 minutes and an arrival time of 5 minutes for thesecond user to reach the merchant's location. In this example, based onthe information described above, the merchant can determine that thesecond user's order should be prioritized over the first user's order tohave the second user's order complete and ready by the time the seconduser arrives at the merchant's location, e.g., within the next 5minutes. The merchant can then prepare the first user's order aftercompleting the second user's order and have the first user's order readyby the time the first user arrives at the merchant's location, e.g.,within the next 20 minutes.

In some embodiments, the merchant can continually prioritize andde-prioritize orders based in part on updated location data that isreceived for the users that placed the orders. For example, in theexample above, the second user may experience traffic delays that resultin increasing the second user's arrival time for reaching the merchant'slocation to 30 minutes. In response, the merchant can re-prioritize thefirst user's order over the second user's order to have their respectiveorders ready at a time that coincides with their respective arrivals atthe merchant's location.

In some embodiments, the merchant can prioritize and de-prioritizeorders based in part on electronic messages that were received fromusers providing the merchant with an updated arrival time. For example,the first user may stop at a grocery store to pick up items beforepicking up the order from the merchant's location. In this situation,the first user can send an electronic message to the merchant notifyingthe merchant of a 10-minute delay. In response, the merchant can decide,based on the first user's electronic message and on the first user'sarrival time, whether to prioritize or de-prioritize the first user'sorder over other orders.

In some instances, the merchant may be experiencing a delay in preparingorders and may want to update users on the status of their respectiveorders. Thus, in some embodiments, the merchant can interact with themerchant device 104, e.g., using the merchant application 105, to sendelectronic messages to users to provide them with an updated time forpreparing their respective orders. In some embodiments, the merchant mayspecify a time delay for completing orders, e.g., a specified number ofminutes before the merchant will begin preparing the user's order. Thisspecified time delay could be published with the merchant's electroniccatalogue to inform users of the delay before the users place an orderwith the merchant.

Merchants can also perform various actions based in part on the user'stravel distance from the merchant's location. In some embodiments, oneor more actions are triggered in response to a user entering amerchant's geofence. For example, a merchant can define a geofence thatincludes the merchant's location or covers some virtual perimeter fromthe merchant's location. As the user travels, the user device, e.g., theuser device 102, can provide updated location data to the orderingsystem 107 or the merchant device 104, depending on the implementation.Based on the user's updated location data, the merchant device 104 candetermine whether the user has entered the merchant's geofence.

In response to determining that the user has entered the merchant'sgeofence, the merchant device 104 can generate one or more alertsindicating that the user has arrived at the merchant's location or iswithin some geographic distance from the merchant's location. Based onthis information, the merchant take one or more actions including, forexample, beginning preparation of the user's order or bringing theuser's prepared order to the counter. The merchant can also generate abill for the user's order in response to the user entering themerchant's geofence. For example, in response to the user entering thegeofence, a cashier operating the merchant device 104 can interact withthe merchant application 105 to generate a bill, e.g., receipt, for thetotal amount of the user's order and can collect payment from the user.The user can pay for the bill using cash, a financial card, or through acard-less transaction, as described below. The merchant application 105can also prompt a greeting for the user. Further, when the user entersthe merchant's geofence, the merchant application 105 can prompt themerchant's staff to bring the user's order from the kitchen to thepick-up counter.

In some embodiments, depending on the implementation, one or moreactions are triggered in response to the user exiting the merchant'sgeofence or while the user is still within the merchant's geofence. Forexample, the merchant device 104 can communicate one or more electronicmessages that, for example, thank the user for visiting the merchant'slocation, provide the user with digital coupons that are redeemablethrough the merchant, provide the user with an option to enroll in arewards program that is offered by the merchant, or request feedbackfrom the user. In some embodiments, the user can interact with the userapplication 103 to submit feedback for the merchant, for example, on thequality of the order, or to suggest new menu items.

FIG. 1 describes an example environment in which the merchant device 104is configured to perform the merchant operations described in thisspecification. However, in some instances, a merchant's business mayhave multiple devices that are configured to perform different tasks.For example, the merchant may have a point-of-sale system, e.g., afront-of-house system, that is configured to receive purchase orders andto communicate data describing the purchase orders to an order ticketingsystem, e.g., a back-of-house system. The order ticketing system can,for example, notify kitchen staff of purchase orders that need to beprepared.

Thus, in some embodiments, the merchant device 104 includes apoint-of-sale system, e.g., a front-of-house system, and an orderticketing system, e.g., a back-of-house system. The front-of-housesystem is configured to receive, through the network 106, user purchaseorders, user location data, and electronic messages sent from users, asdescribed above. The front-of-house system can communicate datadescribing the received purchase orders, location data, and electronicmessages to the back-of-house system. The back-of-house system canpresent the received data, for example, on a display screen, so thatstaff can prepare a user's purchase order based in part on the user'slocation data, as described above. For example, the staff can determine,for a user's purchase order, an order start time for beginningpreparation of the purchase order by evaluating the user's arrival timefor reaching the merchant's location.

The staff can also prioritize and de-prioritize purchase orders based onuser location data, e.g., user travel distances, user arrival times forreaching the merchant's location, and based on electronic messagesreceived from users, as described above. In some embodiments, theback-of-house system is configured to generate and present staff with anorder preparation time for a user's order based on the items beingpurchased, their respective quantities, and the respective itempreparation times that were specified by the merchant, as describedabove.

In some embodiments, the front-of-house system can generate, andcommunicate to the back-of-house system, one or more alerts in responseto a user entering a merchant's geofence, as described above. Forexample, the front-of-house system can determine that a user has arrivedat the merchant's location or is within threshold geographic distancefrom the merchant's location. Based on this information, thefront-of-house system can communicate instructions to the back-of-housesystem to begin preparing the user's order or to bring the user'sprepared order to the counter. The front-of-house system can alsogenerate a bill for the user's order in response to the user enteringthe merchant's geofence, as described above. Further, as describedabove, the front-of-house system can be configured to perform actions inresponse to the user exiting the merchant's geofence.

In some embodiments, users can configure recurring purchase orders forparticular items to be placed at specified intervals, e.g., daily,weekly, monthly, etc., and, optionally, at specific times. For example,a user can place a recurring order with a merchant for morning coffee tobe picked up from the merchant's location daily at 8:00 am. The merchantcan determine when the user is going to arrive at the merchant'slocation, as described above, to prepare the user's order and have itready for the user at the user's requested time or, in situations whenthe user is off schedule, at or near the time the user arrives at themerchant's location.

The ordering system 107 can store data describing purchase orders thatwere received for merchants in the merchant information database 112including, for example, times the orders were placed, e.g., particulardays or time of day, users that placed the orders, preparation times forcompleting the orders, and items that were most requested. Merchants canuse this data to improve their businesses. For example, based on thisdata, a merchant can identify customers that regularly place orders withthe merchant. The customers identified can be selected, for example, tobe enrolled a rewards program or can be offered digitally accessiblecoupons, e.g., through the user application 103. In some instances, amerchant can use the data to determine customer demand for particulardays, weeks, months, or times of day. By determining customer demand,the merchant can, for example, better evaluate staffing decisions.

In some embodiments, the ordering system 107, and similar components,can be considered to be part of the card-less payment server 108. Thehandling of all requests and responses, as well as the delivery ofcontent between the user device 102, the merchant device 104, and theordering server 107, can be handled by the card-less payment server 108.The ordering system 107 and card-less payment server 108 are merelyexample components. However, more or fewer components can be used asstructured code can be executed on any appropriate device or hostmachine as discussed elsewhere herein.

The data plane 110 includes one or more resources, servers, hosts,instances, routers, switches, data stores, other similar components, ora combination thereof. The resources of the data plane 110 are notlimited to storing and providing access to data. Indeed, there may beseveral map servers, layers, or other elements, processes, orcomponents, which may be chained or otherwise configured, and which caninteract to perform tasks including, for example, obtaining data from anappropriate data store. As used in this specification, the term “datastore” refers to any device or combination of devices capable ofstoring, accessing, and retrieving data, which may include anycombination and number of data servers, databases, data storage devices,and data storage media, in any standard, distributed, or clusteredenvironment.

The data stores of the data plane 110 can include several separate datatables, databases, or other data storage mechanisms and media forstoring data relating to a particular aspect. For example, the dataplane 110 illustrated includes mechanisms for storing merchantinformation 112 and user information 111, which can be used to servecontent. The data plane 110 is operable, through logic associatedtherewith, to receive instructions from the ordering system 107 and toobtain, update, or otherwise process data, instructions, or other suchinformation in response thereto, as described above.

Each server typically includes an operating system that providesexecutable program instructions for the general administration andoperation of that server, and typically will include a computer-readablemedium storing instructions that, when executed by a processor of theserver, enable the server to perform its intended functions. Suitableimplementations for the operating system and general functionality ofthe servers are known or commercially available, and are readilyimplemented by persons having ordinary skill in the art, particularly inlight of the disclosure herein.

The environment in one embodiment is a distributed computing environmentincluding several computer systems and components that areinterconnected through one or more communication links, using one ormore computer networks or direct connections. However, the systemdescribed above can be configured to operate equally well using fewer ora greater number of components than are illustrated in FIG. 1. Thus, thesystem 100 in FIG. 1 is provided merely as one example, and does notlimit the scope of the disclosure.

FIG. 2 illustrates an example process 200 for determining an order starttime for a purchaser order. The example process 200 is provided merelyas an example and additional or fewer steps may be performed in similaror alternative orders, or in parallel, within the scope of the variousembodiments described in this specification. A computing devicereceives, from a user device, data describing a purchase order to beprepared by a merchant and an expected arrival time of the user forarriving at a geographic location of the merchant 202. The purchaseorder specifies one or more items that were selected by the user forpurchase from an electronic catalogue. The electronic catalogue can be acatalogue that includes items sold only by the merchant or a genericcatalogue that includes items sold by the merchant as well as otheritems sold by other merchants. Further, the expected arrival time of theuser is determined based on a geographic location of the user device, asdescribed above.

The computing device determines an order preparation time for thepurchase order based on the one or more items specified in the purchaseorder 204. The order preparation time is a time needed by the merchantto prepare the purchase order. The computing device determines an orderstart time based on the order preparation time for the purchase orderand on the expected arrival time 206. The order start time is a time forbeginning preparation of the purchase order to have the purchase orderready at the expected arrival time. The computing device presents thedata describing the purchase order and the order start time 208.

FIG. 3 illustrates an example view of a user application 300 displayingan electronic catalogue of items 304. The user application 300 can berunning on a user device, e.g., the user device 102, as described above.The electronic catalogue describes items 304 that are available forpurchase from the merchant 302. A user interacting with the userapplication 300 can select one or more items 304 from the electroniccatalogue for purchase. Once items are selected, the user can select asubmit option 306 to send the user's purchase order for the selecteditems to the merchant 302 for preparation. In some embodiments, when theuser submits the purchase order, the user device sends, e.g., to theordering server 107 or a merchant device of the merchant, datadescribing the purchase order and the user's location data, as describedabove. The user application 300 may also be formatted using a merchantlogo 308 and a color motif specified by the merchant, as describedabove.

FIG. 4 illustrates an example of an environment 400 for implementing acard-less payment system 408. Although a mobile device environment isdescribed for purposes of explanation, different environments may beused, e.g., a web-based environment, to implement various embodiments.

The example environment 400 includes a card-less payment system 408,which can be implemented as computer programs on one or more computersin one or more locations, in which the systems, components, andtechniques described below can be implemented. The example environment400 also includes a user device 402 and a merchant device 404.

As used in this specification, a card-less payment transaction is atransaction conducted between a user and a merchant at a point-of-saleduring which a financial account of the user is charged without the userhaving to physically present the financial payment card to the merchantat the point-of-sale. That is, the merchant need not receive any detailsabout the financial account, e.g., the credit card issuer or credit cardnumber, for the transaction to be processed.

The user device 402 and the merchant device 404 can each be a computercoupled to the card-less payment system 408 through a data communicationnetwork 406, e.g., the Internet. The user device 402 and the merchantdevice 404 each generally include a memory, e.g., a random access memory(RAM), for storing instructions and data, and a processor for executingstored instructions. The user device 402 and the merchant device 404 caneach include one or more components, e.g., software or hardware, thatare configured to respectively determine a geographic location of theuser device 402 or the merchant device 404, using, for example, variousgeolocation techniques, e.g., a global positioning system (GPS).Further, the user device 402 and the merchant device 404 can each be anyappropriate device operable to send and receive requests, messages, orother types of information over the network 406. Some examples of userdevices include personal computers, cellular phones, handheld messagingdevices, laptop computers, personal data assistants, tablet devices, andthe like.

The network 406 can include any appropriate network, including anintranet, the Internet, a cellular network, a local area network, a widearea network, or any other such network, or combination thereof.Components used for such a system can depend at least in part upon thetype of network, the environment selected, or both. Protocols andcomponents for communicating over such a network are well known and willnot be discussed herein in detail. The card-less payment system 408, themerchant device 404, and the user device 402 can communicate over thenetwork using wired or wireless connections, and combinations thereof.

Before conducting card-less payment transactions, a user typicallycreates a user account with the card-less payment system 408. The usercan create the user account, for example, by interacting with a userapplication 403 that is configured to perform card-less paymenttransactions and that is running on the user device 402. When creating auser account with the card-less payment system 408, the user willtypically provide a portrait of the user and data describing a financialaccount of the user, e.g., credit card number, expiration date, and abilling address. This user information can be securely stored by thecard-less payment system 408, for example, in a user informationdatabase 411. To accept card-less payment transactions, a merchanttypically creates a merchant account with the card-less payment system408 by providing information describing the merchant including, forexample, a merchant name, contact information, e.g., telephone numbers,the merchant's geographic location address, and one or more financialaccounts to which funds collected from users will be deposited. Thismerchant information can be securely stored by the card-less paymentsystem 408, for example, in a merchant information database 412.

The card-less payment system 408 is configured to perform card-lesspayment transactions. The card-less payment system 408 can include oneor more servers that are configured to securely perform electronicfinancial transactions, e.g., electronic payment transactions, between auser and a merchant, for example, through data communicated between theuser device 402 and the merchant device 404. Generally, when a user anda merchant enter into an electronic financial transaction, thetransaction is processed by transferring funds from a financial accountassociated with the user account to a financial account associated withthe merchant account.

The card-less payment system 408 is configured to send and receive datato and from the user device 402 and the merchant device 404. Forexample, the card-less payment system 408 can be configured to send datadescribing merchants to the user device 402 using, for example, theinformation stored in the merchant information database 412. Forexample, the card-less payment system 408 can communicate datadescribing merchants that are within a threshold geographic distancefrom a geographic location of the user device 402, as described in thisspecification. The data describing merchants can include, for example, amerchant name, geographic location, contact information, and anelectronic catalogue, e.g., a menu, that describes items that areavailable for purchase from the merchant.

In some embodiments, the card-less payment system 408 is configured todetermine whether a geographic location of the user device 402 is withina threshold geographic distance from a geographic location of themerchant device 404. The card-less payment system 408 can determine ageographic location of the user device 402 using, for example,geolocation data provided by the user device 402. Similarly, thecard-less payment system 408 can determine a geographic location of themerchant device 404 using, for example, geolocation data provided by themerchant device 404 or using a geographic address, e.g., street address,provided by the merchant. Depending on the implementation, the thresholdgeographic distance can be specified by the card-less payment system 408or by the merchant.

Determining whether the user device 402 is within a threshold geographicdistance of the merchant device 404 can be accomplished in differentways including, for example, determining whether the user device 402 iswithin a threshold geographic radius of the merchant device 404,determining whether the user device 402 is within a particular geofence,or determining whether the user device 402 can communicate with themerchant device 404 using a specified wireless technology, e.g.,Bluetooth or Bluetooth low energy (BLE). In some embodiments, thecard-less payment system 408 restricts card-less payment transactionsbetween the user and the merchant to situations where the geographiclocation of the user device 402 is within a threshold geographicdistance from a geographic location of the merchant device 404.

The card-less payment system 408 can also be configured to communicatewith a computer system 416 of a card payment network, e.g., Visa orMasterCard, over the network 406, or over a different network, forexample, to conduct electronic financial transactions. The computersystem 416 of the card payment network can communicate with a computersystem 418 of a card issuer, e.g., a bank. There may be computer systemsof other entities, e.g., the card acquirer, between the card-lesspayment system 408 and the computer system 418 of the card issuer.

The user operating the user device 402 that is within a thresholdgeographic distance of a particular merchant can interact with a userapplication 403 running on the user device 402 to conduct a card-lesspayment transaction. While interacting with the user application 403,the user can select the particular merchant, from a listing ofmerchants, with whom the user wants to enter into a card-less paymenttransaction. The user can select the particular merchant, for example,by selecting a “check in” option associated with the particularmerchant. The user device 402 can communicate data notifying thecard-less payment system 408 that the user has checked in with themerchant. In response, the card-less payment system 408 can communicatedata to notify the merchant device 404 that the user has checked in. Amerchant application 405 running on the merchant device 404 can notifythe particular merchant that the user has electronically checked in withthe particular merchant through a display screen of the merchant device404.

Once checked in, the user can collect, or request, items that areavailable for purchase from the merchant. When the user is ready toenter into the card-less payment transaction, the user can, for example,approach a point-of-sale for the merchant and identify him or herself.For example, the user can verbally notify the merchant that the userwants to enter into a card-less payment transaction and can provide themerchant with the user's name. The merchant can then interact with themerchant application 405 to select the user, from a listing of usersthat have checked in with the merchant, to initiate a card-less paymenttransaction for the items being purchased by the user. For example, themerchant can determine a total amount to bill the user for the itemsbeing purchased. The user can verbally approve the total amount to bebilled and, in response, the merchant can submit a request for acard-less payment transaction for the total amount to the card-lesspayment system 408. In response, the card-less payment system 408 canobtain, for example, from the user information database 411, datadescribing a financial account associated with a user account of theuser to which the total amount will be billed.

The card-less payment system 408 can then communicate with the computersystem 416 of a card payment network to complete an electronic financialtransaction for the total amount to be billed to the user's financialaccount. Once the electronic financial transaction is complete, thecard-less payment system 408 can communicate data describing thecard-less payment transaction to the user device 402, e.g., anelectronic receipt, which can, for example, notify the user of the totalamount billed to the user for the card-less payment transaction with theparticular merchant.

The various embodiments can be implemented in a wide variety ofoperating environments, which in some cases can include one or more usercomputers, computing devices, or processing devices which can be used tooperate any of a number of applications. User or client devices caninclude any of a number of general purpose personal computers, such asdesktop or laptop computers running a standard operating system, as wellas cellular, wireless, and handheld devices running mobile software andcapable of supporting a number of networking and messaging protocols.Such a system also can include a number of workstations running any of avariety of commercially-available operating systems and other knownapplications for purposes such as development and database management.These devices also can include other electronic devices, such as dummyterminals, thin-clients, gaming systems, and other devices capable ofcommunicating via a network.

Various aspects also can be implemented as part of at least one serviceor Web service, such as may be part of a service-oriented architecture.Services such as Web services can communicate using any appropriate typeof messaging, such as by using messages in extensible markup language(XML) format and exchanged using an appropriate protocol such as SOAP(derived from the “Simple Object Access Protocol”). Processes providedor executed by such services can be written in any appropriate language,such as the Web Services Description Language (WSDL). Using a languagesuch as WSDL allows for functionality such as the automated generationof client-side code in various SOAP frameworks.

Most embodiments utilize at least one network that would be familiar tothose skilled in the art for supporting communications using any of avariety of commercially-available protocols, such as TCP/IP, OSI, FTP,UPnP, NFS, CIFS, and AppleTalk. The network can be, for example, a localarea network, a wide-area network, a virtual private network, theInternet, an intranet, an extranet, a public switched telephone network,an infrared network, a wireless network, and any combination thereof.

In embodiments utilizing a Web server, the Web server can run any of avariety of server or mid-tier applications, including HTTP servers, FTPservers, CGI servers, data servers, Java servers, and business mapservers. The server(s) also may be capable of executing programs orscripts in response requests from user devices, such as by executing oneor more Web applications that may be implemented as one or more scriptsor programs written in any programming language, such as Java®, C, C# orC++, or any scripting language, such as Perl, Python, or TCL, as well ascombinations thereof. The server(s) may also include database servers,including without limitation those commercially available from Oracle®,Microsoft®, Sybase®, and IBM®.

The environment can include a variety of data stores and other memoryand storage media as discussed above. These can reside in a variety oflocations, such as on a storage medium local to (and/or resident in) oneor more of the computers or remote from any or all of the computersacross the network. In a particular set of embodiments, the informationmay reside in a storage-area network (“SAN”) familiar to those skilledin the art. Similarly, any necessary files for performing the functionsattributed to the computers, servers, or other network devices may bestored locally and/or remotely, as appropriate. Where a system includescomputerized devices, each such device can include hardware elementsthat may be electrically coupled via a bus, the elements including, forexample, at least one central processing unit (CPU), at least one inputdevice (e.g., a mouse, keyboard, controller, touch screen, or keypad),and at least one output device (e.g., a display device, printer, orspeaker). Such a system may also include one or more storage devices,such as disk drives, optical storage devices, and solid-state storagedevices such as random access memory (“RAM”) or read-only memory(“ROM”), as well as removable media devices, memory cards, flash cards,etc.

Such devices also can include a computer-readable storage media reader,a communications device (e.g., a modem, a network card (wireless orwired), an infrared communication device, etc.), and working memory asdescribed above. The computer-readable storage media reader can beconnected with, or configured to receive, a computer-readable storagemedium, representing remote, local, fixed, and/or removable storagedevices as well as storage media for temporarily and/or more permanentlycontaining, storing, transmitting, and retrieving computer-readableinformation. The system and various devices also typically will includea number of software applications, modules, services, or other elementslocated within at least one working memory device, including anoperating system and application programs, such as a client applicationor Web browser. It should be appreciated that alternate embodiments mayhave numerous variations from that described above. For example,customized hardware might also be used and/or particular elements mightbe implemented in hardware, software (including portable software, suchas applets), or both. Further, connection to other computing devicessuch as network input/output devices may be employed.

Storage media and computer readable media for containing code, orportions of code, can include any appropriate media known or used in theart, including storage media and communication media, such as but notlimited to volatile and non-volatile, removable and non-removable mediaimplemented in any method or technology for storage and/or transmissionof information such as computer readable instructions, data structures,program modules, or other data, including RAM, ROM, EEPROM, flash memoryor other memory technology, CD-ROM, digital versatile disk (DVD) orother optical storage, magnetic cassettes, magnetic tape, magnetic diskstorage or other magnetic storage devices, or any other medium which canbe used to store the desired information and which can be accessed bythe a system device. Based on the disclosure and teachings providedherein, a person of ordinary skill in the art will appreciate other waysand/or methods to implement the various embodiments.

The specification and drawings are, accordingly, to be regarded in anillustrative rather than a restrictive sense. It will, however, beevident that various modifications and changes may be made thereuntowithout departing from the broader spirit and scope of the invention asset forth in the claims.

1. (canceled)
 2. (canceled)
 3. A method comprising: initiating an orderby an ordering system for an item requiring preparation by a merchant,the order being associated with a user account; sending, by the orderingsystem to a merchant device of the merchant, data describing the orderfor the at least one item and data describing a location of a purchaserassociated with the user account; receiving, from the merchant deviceand by the ordering system, an estimated time of completion forpreparation of the purchase order, wherein the estimated time ofcompletion is based on a prioritization of the purchase order by themerchant device, wherein the prioritization is based on the datadescribing the location of the purchaser and an amount of time needed toprepare the at least one item described in the purchase order; sending,from the ordering system and to the computing device, the estimatedcompletion time for the purchase order.
 4. The method of claim 3,comprising: storing, by the order system, data describing purchaseorders that were received by a plurality of merchants from thepurchaser, the data including times the orders were placed, and itemsthat were most requested.
 5. The method of claim 3, comprising:receiving, by the order system, a request from the purchaser toconfigure a recurring purchase order for the at least one item.
 6. Themethod of claim 3, comprising: receiving, by the ordering system andfrom the computer device, a purchaser check-in indicating that thepurchaser is present within the location of the merchant.
 7. The methodof claim 3, comprising: sending, from the ordering system and to themerchant device, a notification of the purchaser check-in, and a promptto provide the at least one item to the purchaser.
 8. The method ofclaim 3, wherein the estimated time of completion for preparation of thepurchase order is determined based at least in part on an amount of timeneeded by the merchant to prepare the at least one item specified in thepurchase order.
 9. The computer-implemented method of claim 3, whereinthe estimated time of completion is adjusted based on a delay parameterspecified by the merchant.
 10. The method of claim 3, comprising:providing, by the ordering system and to the merchant device, datadescribing a geographic map that indicates respective geographiclocations of one or more customers that have placed purchase orders withthe merchant.
 11. The method of claim 3, comprising: after the purchaserclaims the order for the at least one item, paying for the order in acard-less transaction.
 12. A non-transitory computer readable mediumcomprising instructions stored thereon, the instructions, when executedby at least one processor are effective to cause the at least oneprocessor to: initiate an order by an ordering system for an itemrequiring preparation by a merchant, the order being associated with auser account; send, by the ordering system to a merchant device of themerchant, data describing the order for the at least one item and datadescribing a location of a purchaser associated with the user account;receive, from the merchant device and by the ordering system, anestimated time of completion for preparation of the purchase order,wherein the estimated time of completion is based on a prioritization ofthe purchase order by the merchant device, wherein the prioritization isbased on the data describing the location of the purchaser and an amountof time needed to prepare the at least one item described in thepurchase order; send, from the ordering system and to the computingdevice, the estimated completion time for the purchase order.
 13. Thenon-transitory computer readable medium of claim 12, wherein theinstructions are effective to cause the at least one processor to:store, by the order system, data describing purchase orders that werereceived a plurality of merchants from the purchaser, the data includingtimes the orders were placed, and items that were most requested. 14.The non-transitory computer readable medium of claim 12, wherein theinstructions are effective to cause the at least one processor to:receive, by the order system, a request from the purchaser to configurea recurring purchase order for the at least one item.
 15. Thenon-transitory computer readable medium of claim 12, wherein theinstructions are effective to cause the at least one processor to:receive, by the ordering system and from the computer device, apurchaser check-in indicating that the purchaser is present within thelocation of the merchant.
 16. The non-transitory computer readablemedium of claim 12, wherein the instructions are effective to cause theat least one processor to: send, from the ordering system and to themerchant device, a notification of the purchaser check-in, and a promptto provide the at least one item to the purchaser.
 17. Thenon-transitory computer readable medium of claim 12, wherein theestimated time of completion for preparation of the purchase order isdetermined based at least in part on an amount of time needed by themerchant to prepare the at least one item specified in the purchaseorder.
 18. The non-transitory computer readable medium of claim 12,wherein the estimated time of completion is adjusted based on a delayparameter specified by the merchant.
 19. The non-transitory computerreadable medium of claim 12, wherein the instructions are effective tocause the at least one processor to: provide, by the ordering system andto the merchant device, data describing a geographic map that indicatesrespective geographic locations of one or more customers that haveplaced purchase orders with the merchant.
 20. The non-transitorycomputer readable medium of claim 12, wherein the instructions areeffective to cause the at least one processor to: after the purchaserclaims the order for the at least one item, paying for the order in acard-less transaction.
 21. A system comprising: an ordering system,wherein the order system is configured to: initiate an order by theordering system for an item requiring preparation by a merchant, theorder being associated with a user account; send, by the ordering systemto a merchant device of the merchant, data describing the order for theat least one item and data describing a location of a purchaserassociated with the user account; receive, from the merchant device andby the ordering system, an estimated time of completion for preparationof the purchase order, wherein the estimated time of completion is basedon a prioritization of the purchase order by the merchant device,wherein the prioritization is based on the data describing the locationof the purchaser and an amount of time needed to prepare the at leastone item described in the purchase order; send, from the ordering systemand to the computing device, the estimated completion time for thepurchase order.
 22. The system of claim 21 wherein the ordering systemis configured to: receive from the computer device, a purchaser check-inindicating that the purchaser is present within the location of themerchant; and the system including a card-less payment service, whereinthe card-less payment server is configured to: after the purchaserclaims the order for the at least one item, paying for the order in acard-less transaction.